package com.xu.blog_after_end.dao;

import com.xu.blog_after_end.po.Tag;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;

import java.util.List;

public interface TagRepository extends JpaRepository<Tag, Long> {

    Tag findByName(String name);   // 根据名称查询标签

    // 使用JPQL查询统计每个Tag下的博客数量，并按数量降序排序
    @Query("SELECT t FROM Tag t LEFT JOIN t.blogs b GROUP BY t ORDER BY COUNT(b) DESC")
    List<Tag> findTop(Pageable pageable);  // 获取博客数量最多的前size个标签
}
